home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / gfx / 3d / irit50src.lha / irit5 / include / ip_cnvrt.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-21  |  2.5 KB  |  75 lines

  1. /*****************************************************************************
  2. * Conversion routines from curvesand surfaces to polygons and polylines.     *
  3. *                                         *
  4. * Written by:  Gershon Elber                Ver 1.0, Apr 1992    *
  5. *****************************************************************************/
  6.  
  7. #ifndef IP_CONVRT_H
  8. #define IP_CONVRT_H
  9.  
  10. #include "iritprsr.h"
  11. #include "attribut.h"
  12.  
  13. #if defined(__cplusplus) || defined(c_plusplus)
  14. extern "C" {
  15. #endif
  16.  
  17. IPPolygonStruct *IritCurve2Polylines(CagdCrvStruct *Crv, int SamplesPerCurve,
  18.                      int Optimal);
  19. IPPolygonStruct *IritCurve2CtlPoly(CagdCrvStruct *Crv);
  20. IPPolygonStruct *IritSurface2Polylines(CagdSrfStruct *Srf,
  21.                        int NumOfIsolines[2],
  22.                        int SamplesPerCurve,
  23.                        int Optimal);
  24. IPPolygonStruct *IritSurface2CtlMesh(CagdSrfStruct *Srf);
  25. IPPolygonStruct *IritSurface2Polygons(CagdSrfStruct *Srf, int FourPerFlat,
  26.                       RealType FineNess, int ComputeUV,
  27.                       int Optimal);
  28. IPPolygonStruct *IritTrimSrf2Polylines(TrimSrfStruct *TrimSrf,
  29.                        int NumOfIsolines[2],
  30.                        int SamplesPerCurve,
  31.                        int Optimal,
  32.                        int TrimmingCurves,
  33.                        int IsoParamCurves);
  34. IPPolygonStruct *IritTrimSrf2CtlMesh(TrimSrfStruct *TrimSrf);
  35. IPPolygonStruct *IritTrivar2Polygons(TrivTVStruct *Trivar,
  36.                      int FourPerFlat,
  37.                      RealType FineNess,
  38.                      int ComputeUV,
  39.                      int Optimal);
  40. IPPolygonStruct *IritTrivar2Polylines(TrivTVStruct *Trivar,
  41.                       int NumOfIsolines[3],
  42.                       int SamplesPerCurve,
  43.                       int Optimal);
  44. IPPolygonStruct *IritTrivar2CtlMesh(TrivTVStruct *Trivar);
  45. void IritSetCurvesToCubicBzrTol(RealType Tolerance);
  46. CagdCrvStruct *IritCurvesToCubicBzrCrvs(CagdCrvStruct *Crvs,
  47.                     IPPolygonStruct **CtlPolys,
  48.                     CagdBType DrawCurve,
  49.                     CagdBType DrawCtlPoly,
  50.                     CagdRType MaxArcLen);
  51. CagdCrvStruct *IritSurfacesToCubicBzrCrvs(CagdSrfStruct *Srfs,
  52.                       IPPolygonStruct **CtlMeshes,
  53.                       CagdBType DrawSurface,
  54.                       CagdBType DrawMesh,
  55.                       int NumOfIsolines[2],
  56.                       CagdRType MaxArcLen);
  57. CagdCrvStruct *IritTrimSrfsToCubicBzrCrvs(TrimSrfStruct *TrimSrfs,
  58.                       IPPolygonStruct **CtlMeshes,
  59.                       CagdBType DrawTrimSrf,
  60.                       CagdBType DrawMesh,
  61.                       int NumOfIsolines[2],
  62.                       CagdRType MaxArcLen);
  63. CagdCrvStruct *IritTrivarToCubicBzrCrvs(TrivTVStruct *Trivar,
  64.                       IPPolygonStruct **CtlMeshes,
  65.                       CagdBType DrawSurface,
  66.                       CagdBType DrawMesh,
  67.                       int NumOfIsolines[2],
  68.                       CagdRType MaxArcLen);
  69.  
  70. #if defined(__cplusplus) || defined(c_plusplus)
  71. }
  72. #endif
  73.  
  74. #endif /* IP_CONVRT_H */
  75.